package com.ceres.system.service;

import com.ceres.system.pojo.Role;
import com.github.pagehelper.Page;

import java.util.List;
import java.util.Map;

public interface RoleService {
    /**
     * 查询后台角色列表
     * @return
     */
    List<Role> findAll();

    /**
     * 查询前台角色列表
     * @return
     */
    List<Role> findUserRole();

    /**
     * 根据id查询角色
     * @param id
     * @return
     */
    Role findById(Integer id);

    /**
     * 新增角色，并关联到角色权限中间表
     * @param menuIds
     * @param role
     */
    void addRole(Integer[] menuIds,Role role);

    /**
     * 删除没有用户关联的角色及其关联的菜单
     * @param roleId
     */
    void deleteRoleById(Integer roleId);

    /**
     * 修改角色信息并修改关联的菜单
     * @param role
     * @param menuIds
     */
    void updateRole(Role role,Integer[]menuIds);

    /**
     * 根据条件分页查询角色
     * @param queryCondition
     * @param page
     * @param size
     * @return
     */
    Page<Role> queryRole(Map<String,Object> queryCondition,int page,int size);


}
